From 136058cc5ce4f1e630d5bac199304fdc9429faa3 Mon Sep 17 00:00:00 2001 From: Yang Zhang Date: Fri, 20 Dec 2013 11:57:14 +0100 Subject: [PATCH] Nested VMX: Setup the virtual NMI exiting info When inject a virtual nmi exit to L1, hypervisor need to set the virtual vmcs with right vaule which is missing in current Xen. Signed-off-by: Yang Zhang Acked-by: Eddie Dong --- xen/arch/x86/hvm/vmx/vvmx.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/xen/arch/x86/hvm/vmx/vvmx.c b/xen/arch/x86/hvm/vmx/vvmx.c index 0daad79748..41db52be44 100644 --- a/xen/arch/x86/hvm/vmx/vvmx.c +++ b/xen/arch/x86/hvm/vmx/vvmx.c @@ -1293,6 +1293,12 @@ static void sync_exception_state(struct vcpu *v) nvmx->intr.error_code); break; case X86_EVENTTYPE_NMI: + __set_vvmcs(nvcpu->nv_vvmcx, VM_EXIT_REASON, + EXIT_REASON_EXCEPTION_NMI); + __set_vvmcs(nvcpu->nv_vvmcx, EXIT_QUALIFICATION, 0); + __set_vvmcs(nvcpu->nv_vvmcx, VM_EXIT_INTR_INFO, + nvmx->intr.intr_info); + break; default: gdprintk(XENLOG_ERR, "Exception state %lx not handled\n", nvmx->intr.intr_info); -- 2.30.2